home *** CD-ROM | disk | FTP | other *** search
/ CICA 1993 April / CICA MS Windows - April 1993.iso / unzipped / util / mews11 / mewinms.mak < prev    next >
Makefile  |  1992-10-09  |  8KB  |  271 lines

  1. # makefile for MEWIN (MicroEMACS for Windows)
  2. # for Microsoft C compiler (6.0 or 7.0) on i386 or MIPS CPU
  3. # define TARGET as C6, C7 or NT (or some other short suffix)
  4. # for Windows/NT, use TARGET=NT
  5. # other suffixes compile for Windows 3.1
  6.  
  7. !IFNDEF DEBUG
  8. DEBUG = 0
  9. !ENDIF
  10.  
  11. !IFNDEF TARGET
  12. !IFDEF NTVERSION
  13. TARGET = NT
  14. !ELSE
  15. TARGET = C7
  16. !ENDIF
  17. !ENDIF
  18.  
  19. !IFNDEF CPU
  20. !IF "$(TARGET)"=="NT"
  21. CPU = i386
  22. !ENDIF
  23. !ENDIF 
  24.  
  25. OBJ = $(TEMP)\MEWIN.$(TARGET)
  26. PROJ = MEWIN$(TARGET)
  27.  
  28. DEF_FILE = MEWIN.DEF
  29. RES_FILE = MEWIN.RES
  30. RC_FILE = MEWIN.RC
  31. DLG_FILES = mswmodes.dlg mswmlh.dlg mswfonts.dlg mswprg.dlg mswabout.dlg\
  32.         mswfile.dlg
  33. ICO_FILES = mswapp.ico mswscr.ico mswwait.ico
  34. CUR_FILES = mswcur.cur mswnot.cur mswgrin1.cur mswgrin2.cur mswgrin3.cur \
  35.         mswgrin4.cur mswgrin5.cur mswgrin6.cur mswgrin7.cur mswgrin8.cur
  36. BMP_FILES =
  37. MNU_FILES = mswmenu.rc
  38.  
  39. !IF "$(TARGET)"=="NT"
  40. !IF "$(CPU)"=="MIPS"
  41. # MIPS specific build stuff
  42. CPUTYPE=2
  43. CC = cc
  44. cvtobj = mip2coff
  45. CFLAGS_G  = -std -G0 -O -EL -DMIPS=1 -DWIN32 -DWINNT=1 -D__cdecl= -D__export= $(C_FLAGS)
  46. CFLAGS_D  =
  47. CFLAGS_R  =
  48. LFLAGS_G  = /SUBSYSTEM:windows /ENTRY:WinMainCRTStartup\
  49.         /OUT:$(PROJ).exe $(L_FLAGS)
  50. LFLAGS_D  = /DEBUG:full
  51. LFLAGS_R  = 
  52. LLIBS_G   = $(OBJ)\$(PROJ).lib $(LIB)\libcmt.lib $(LIB)\*.lib
  53. LLIBS_R  =
  54. LLIBS_D  =
  55. !ELSE
  56. # x86 build stuff
  57. !if "$(CPU)"=="i386"
  58. CC  = cl386
  59. CFLAGS_G  = /G3 /Gd /BATCH /Di386=1 /DWIN32 /DWINNT=1 $(C_FLAGS)
  60. CFLAGS_D  = /Od /Zi
  61. CFLAGS_R  = /Os /Og
  62. LFLAGS_G  = /SUBSYSTEM:windows /ENTRY:WinMainCRTStartup\
  63.         /OUT:$(PROJ).exe $(L_FLAGS)
  64. LFLAGS_D  = /DEBUG:full /DEBUGTYPE:cv
  65. LFLAGS_R  = 
  66. LLIBS_G   = $(OBJ)\$(PROJ).lib $(LIB)\libcmt.lib $(LIB)\*.lib
  67. LLIBS_R  =
  68. LLIBS_D  =
  69. !ELSE
  70. !ERROR  Must specify CPU Environment Variable (set CPU=i386 or set CPU=MIPS )
  71. !ENDIF
  72. !ENDIF
  73. !ELSE
  74. CC  = cl
  75. CFLAGS_G  = /AL /G2 /Gx /GA /DWINVER=0x030a /Zp /BATCH
  76. CFLAGS_D  = /Od /Zi
  77. CFLAGS_R  = /Os /Og /Gs
  78. LFLAGS_G  = /BATCH /ONERROR:NOEXE
  79. LFLAGS_D  = /CO /NOF
  80. LFLAGS_R  = /F
  81. LLIBS_G  = LIBW.LIB SHELL.LIB
  82. LLIBS_R  = /NOD:LLIBCE LLIBCEW.LIB
  83. LLIBS_D  = /NOD:LLIBCE LLIBCEW.LIB
  84. !ENDIF
  85. MAPFILE_D  = $(OBJ)\$(PROJ).map
  86. MAPFILE_R  = NUL
  87. LINKER    = link
  88. LRF  = echo > NUL
  89. RC  = rc
  90. RCFLAGS2  = /30 /t
  91. CVFLAGS  = /25
  92.  
  93. FILES  = BASIC.C BIND.C BUFFER.C CHAR.C CRYPT.C DISPLAY.C DOLOCK.C EVAL.C\
  94.     EXEC.C FILE.C FILEIO.C INPUT.C ISEARCH.C LINE.C LOCK.C MAIN.C MOUSE.C\
  95.     MSWDISP.C MSWDRV.C MSWEMACS.C MSWEXEC.C MSWFILE.C MSWFONT.C MSWINPUT.C\
  96.     MSWMEM.C MSWMENU.C MSWSYS.C RANDOM.C REGION.C SCREEN.C SEARCH.C\
  97.     WINDOW.C WORD.C
  98.  
  99. OBJ_FILES = $(OBJ)\BASIC.obj $(OBJ)\BIND.obj $(OBJ)\BUFFER.obj $(OBJ)\CHAR.obj\
  100.         $(OBJ)\CRYPT.obj $(OBJ)\DISPLAY.obj $(OBJ)\DOLOCK.obj $(OBJ)\EVAL.obj\
  101.         $(OBJ)\EXEC.obj $(OBJ)\FILE.obj $(OBJ)\FILEIO.obj $(OBJ)\INPUT.obj\
  102.         $(OBJ)\ISEARCH.obj $(OBJ)\LINE.obj $(OBJ)\LOCK.obj $(OBJ)\MAIN.obj\
  103.         $(OBJ)\MOUSE.obj $(OBJ)\MSWDISP.obj $(OBJ)\MSWDRV.obj\
  104.         $(OBJ)\MSWEMACS.obj $(OBJ)\MSWEXEC.obj $(OBJ)\MSWFILE.obj\
  105.         $(OBJ)\MSWFONT.obj $(OBJ)\MSWINPUT.obj $(OBJ)\MSWMEM.obj\
  106.         $(OBJ)\MSWMENU.obj $(OBJ)\MSWSYS.obj $(OBJ)\RANDOM.obj\
  107.         $(OBJ)\REGION.obj $(OBJ)\SCREEN.obj $(OBJ)\SEARCH.obj\
  108.         $(OBJ)\WINDOW.obj $(OBJ)\WORD.obj
  109.  
  110. all: $(PROJ).exe
  111.  
  112. .SUFFIXES:
  113. .SUFFIXES: .obj .c
  114. .SUFFIXES: .obj .c
  115.  
  116. $(OBJ)\BASIC.obj : BASIC.C estruct.h eproto.h edef.h elang.h english.h
  117.  
  118. $(OBJ)\BIND.obj : BIND.C estruct.h eproto.h edef.h elang.h epath.h english.h
  119.  
  120. $(OBJ)\BUFFER.obj : BUFFER.C estruct.h eproto.h edef.h elang.h english.h
  121.  
  122. $(OBJ)\CHAR.obj : CHAR.C estruct.h eproto.h edef.h elang.h english.h
  123.  
  124. $(OBJ)\CRYPT.obj : CRYPT.C estruct.h eproto.h edef.h elang.h english.h
  125.  
  126. $(OBJ)\DISPLAY.obj : DISPLAY.C estruct.h eproto.h edef.h elang.h english.h
  127.  
  128. $(OBJ)\DOLOCK.obj : DOLOCK.C estruct.h eproto.h elang.h english.h
  129.  
  130. $(OBJ)\EVAL.obj : EVAL.C estruct.h eproto.h edef.h elang.h evar.h english.h
  131.  
  132. $(OBJ)\EXEC.obj : EXEC.C estruct.h eproto.h edef.h elang.h english.h
  133.  
  134. $(OBJ)\FILE.obj : FILE.C estruct.h eproto.h edef.h elang.h english.h
  135.  
  136. $(OBJ)\FILEIO.obj : FILEIO.C estruct.h eproto.h edef.h elang.h english.h
  137.  
  138. $(OBJ)\INPUT.obj : INPUT.C estruct.h eproto.h edef.h elang.h english.h
  139.  
  140. $(OBJ)\ISEARCH.obj : ISEARCH.C estruct.h eproto.h edef.h elang.h english.h
  141.  
  142. $(OBJ)\LINE.obj : LINE.C estruct.h eproto.h edef.h elang.h english.h
  143.  
  144. $(OBJ)\LOCK.obj : LOCK.C estruct.h eproto.h edef.h elang.h english.h
  145.  
  146. $(OBJ)\MAIN.obj : MAIN.C estruct.h eproto.h efunc.h edef.h elang.h ebind.h\
  147.         english.h
  148.  
  149. $(OBJ)\MOUSE.obj : MOUSE.C estruct.h eproto.h edef.h elang.h english.h
  150.  
  151. $(OBJ)\MSWDISP.obj : MSWDISP.C estruct.h elang.h eproto.h edef.h mswin.h\
  152.         english.h mswrid.h
  153.  
  154. $(OBJ)\MSWDRV.obj : MSWDRV.C estruct.h elang.h eproto.h edef.h mswin.h\
  155.      english.h mswrid.h
  156.  
  157. $(OBJ)\MSWEMACS.obj : MSWEMACS.C estruct.h eproto.h edef.h elang.h mswin.h\
  158.      english.h mswmenu.h mswrid.h
  159.  
  160. $(OBJ)\MSWEXEC.obj : MSWEXEC.C estruct.h eproto.h edef.h elang.h mswin.h\
  161.      english.h mswrid.h
  162.  
  163. $(OBJ)\MSWFILE.obj : MSWFILE.C estruct.h eproto.h edef.h mswin.h mswrid.h
  164.  
  165. $(OBJ)\MSWFONT.obj : MSWFONT.C estruct.h eproto.h edef.h mswin.h mswrid.h
  166.  
  167. $(OBJ)\MSWINPUT.obj : MSWINPUT.C estruct.h elang.h eproto.h edef.h mswin.h\
  168.      english.h mswrid.h
  169.  
  170. $(OBJ)\MSWMEM.obj : MSWMEM.C estruct.h eproto.h edef.h elang.h mswin.h\
  171.      english.h mswrid.h
  172.  
  173. $(OBJ)\MSWMENU.obj : MSWMENU.C estruct.h elang.h eproto.h edef.h mswin.h\
  174.      mswmenu.h mswhelp.h english.h mswrid.h
  175.  
  176. $(OBJ)\MSWSYS.obj : MSWSYS.C estruct.h elang.h eproto.h edef.h mswin.h\
  177.      english.h mswrid.h
  178.  
  179. $(OBJ)\RANDOM.obj : RANDOM.C estruct.h eproto.h edef.h elang.h english.h
  180.  
  181. $(OBJ)\REGION.obj : REGION.C estruct.h eproto.h edef.h elang.h english.h
  182.  
  183. $(OBJ)\SCREEN.obj : SCREEN.C estruct.h eproto.h edef.h elang.h english.h
  184.  
  185. $(OBJ)\SEARCH.obj : SEARCH.C estruct.h eproto.h edef.h elang.h english.h
  186.  
  187. $(OBJ)\WINDOW.obj : WINDOW.C estruct.h eproto.h edef.h elang.h english.h
  188.  
  189. $(OBJ)\WORD.obj : WORD.C estruct.h eproto.h edef.h elang.h english.h
  190.  
  191. $(OBJ)\$(RES_FILE) : $(RC_FILE) mswin.h mswrid.h mswmenu.h\
  192.         $(DLG_FILES) $(ICO_FILES) $(CUR_FILES) $(BMP_FILES) $(MENU_FILES)
  193.         $(RC) /r /fo $(OBJ)\$(RES_FILE) $(RC_FILE)
  194.  
  195. $(PROJ).exe : $(OBJ) $(OBJ_FILES) $(OBJ)\$(RES_FILE)
  196. !IF $(DEBUG)
  197. !IF "$(TARGET)"=="NT"
  198.     $(LRF) @<<$(OBJ)\$(PROJ).lrf
  199. $(OBJ_FILES)
  200. $(LIBS) $(LLIBS_G) $(LLIBS_D)
  201. $(LFLAGS_G) $(LFLAGS_D);
  202. <<
  203. !ELSE
  204.     $(LRF) @<<$(OBJ)\$(PROJ).lrf
  205. $(RT_OBJS: = +^
  206. ) $(OBJ_FILES: = +^
  207. )
  208. $@
  209. $(MAPFILE_D)
  210. $(LIBS: = +^
  211. ) +
  212. $(LLIBS_G: = +^
  213. ) +
  214. $(LLIBS_D: = +^
  215. )
  216. $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_D);
  217. <<
  218. !ENDIF
  219. !ELSE
  220. !IF "$(TARGET)"=="NT"
  221.     $(LRF) @<<$(OBJ)\$(PROJ).lrf
  222. $(OBJ_FILES)
  223. $(LIBS) $(LLIBS_G) $(LLIBS_R)
  224. $(LFLAGS_G) $(LFLAGS_R);
  225. <<
  226. !ELSE
  227.     $(LRF) @<<$(OBJ)\$(PROJ).lrf
  228. $(RT_OBJS: = +^
  229. ) $(OBJ_FILES: = +^
  230. )
  231. $@
  232. $(MAPFILE_R)
  233. $(LIBS: = +^
  234. ) +
  235. $(LLIBS_G: = +^
  236. ) +
  237. $(LLIBS_R: = +^
  238. )
  239. $(DEF_FILE) $(LFLAGS_G) $(LFLAGS_R);
  240. <<
  241. !ENDIF
  242. !ENDIF
  243. !IF "$(TARGET)"=="NT"
  244.         cvtres -$(CPU) $(OBJ)\$(RES_FILE)
  245.         LIB /OUT:$(OBJ)\$(PROJ).lib /DEF:$(DEF_FILE) /MACHINE:$(CPU)
  246.     $(LINKER) $(OBJ)\MEWIN.OBJ @$(OBJ)\$(PROJ).lrf
  247. !ELSE
  248.     $(LINKER) @$(OBJ)\$(PROJ).lrf
  249.         $(RC) $(RCFLAGS2) $(OBJ)\$(RES_FILE) $(PROJ).exe
  250. !ENDIF
  251.  
  252. $(OBJ):
  253.         mkdir $(OBJ)
  254.  
  255. .c{$(OBJ)}.obj :
  256. !IF "$(CPU)"=="MIPS"
  257. !IF $(DEBUG)
  258.     @$(CC) -c $(CFLAGS_G) $(CFLAGS_D) -o $@ $<
  259. !ELSE
  260.     @$(CC) -c $(CFLAGS_G) $(CFLAGS_R) -o $@ $<
  261. !ENDIF
  262.         @$(cvtobj) $@
  263. !ELSE
  264. !IF $(DEBUG)
  265.     @$(CC) /c $(CFLAGS_G) $(CFLAGS_D) /Fo$@ $<
  266. !ELSE
  267.     @$(CC) /c $(CFLAGS_G) $(CFLAGS_R) /Fo$@ $<
  268. !ENDIF
  269. !ENDIF
  270.